package com.gzx.plugin.tjzy.modular.work.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import vip.xiaonuo.common.handler.CommonSm1AesTypeHandler;
import vip.xiaonuo.common.pojo.TenantEntity;

import java.io.Serial;
import java.math.BigDecimal;

/**
 * 调解员作业记录对象 gzx_mediator_work
 *
 * @author LionLi
 * @date 2024-09-18
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "gzx_mediator_work", autoResultMap = true)
public class GzxMediatorWork extends TenantEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 自增主键
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 关联案件ID
     */
    private Long caseId;

    /**
     * 项目名称
     */
    private String projectCode;

    /**
     * 欠款人身份证号
     */
    @TableField(typeHandler = CommonSm1AesTypeHandler.class)
    private String debtorCardId;

    /**
     * 联系人姓名
     */
    private String liaisonName;

    /**
     * 联系电话
     */
    @TableField(typeHandler = CommonSm1AesTypeHandler.class)
    private String liaisonPhone;

    /**
     * 电话来源1导入
     */
    private Integer phoneSource;

    /**
     * 通话对象1本人2配偶3父母4亲戚5朋友
     */
    private String callRecipient;

    /**
     * 作业类型（1呼入 2呼出（预测式）3呼出（点呼）4短信 5微信）
     */
    private Integer workType;

    /**
     * 作业结果1无人接听2欠费停机3关机4非本人5二次放号6稍后跟进
     */
    private Integer workResult;

    /**
     * 是否承诺还款0否1是
     */
    private Integer isPromiseRepayment;

    /**
     * 结果代码 A01-W12
     */
    private String resultCode;

    /**
     * 承诺还款日期
     */
    private String promiseRepaymentDay;

    /**
     * 承诺还款金额
     */
    private BigDecimal promiseRepaymentAmount;

    /**
     * 下次联系时间
     */
    private String nextContactTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 是否已保存
     */
    private Integer isAlreadySaved;

    /**
     * 所属公司
     */
    private Long affiliatedCompany;

    private String msgId;

    private String smsContent;
}
